import psutil
import os
import time
def ui():
    print("=======================================================")
    print("     1.请输入要监控的游戏（选择游戏exe路径）")
    print("     2.开始监控")
    print("=======================================================")


#检查系统中是否有游戏在运行
def checkprocess(processname):
    pl = psutil.pids();
    for pid in pl:
        if psutil.Process(pid).name() == processname:
            p = psutil.Process(pid)
            print("exe:",p.exe())
            return pid

if __name__ == '__main__':
    process = None
    flag = False
    while True:
        ui()
        n = input("选择你要使用的功能:")
        if int(n) == 1:
            exe_path = input("输入要监听的游戏的exe路径:")
            process = exe_path[exe_path.rindex("\\") + 1:]
            print("监控的exe为："+process)
        if int(n) == 2:
            pid = 0
            if process == None:
                print("未选择任何游戏！请重新选择\n")
            else:
                while True:
                    print("游戏未开始运行")
                    if isinstance(checkprocess(process), int):
                        pid = checkprocess(process)
                        break
                    # 每两秒询问一次系统，游戏是否运行，如果开始运行则进行监控
                    time.sleep(2)
                print("游戏开始运行！")
                # 为方便演示将运行时间设置成60s， 60 代表 游戏运行60s 后关闭游戏进程，若要1.5小时 将数字改成 1.5 * 60 * 60即可
                time.sleep(60)
                print("游戏时间到！")
                #关闭游戏
                os.system("taskkill /f /im "+process)







